Estamos superando las limitaciones de los modelos lineales, que tienen dificultades para clasificar datos que no son separables por una línea recta. Hoy aplicamos el flujo de trabajo de PyTorch para construir un Red Neuronal Profunda (DNN) capaz de aprender fronteras de decisión complejas y no linealesesenciales para tareas reales de clasificación.
1. Visualización de la Necesidad de Datos No Lineales
Nuestro primer paso es crear un conjunto de datos sintéticos desafiantes, como la distribución de dos medias, para demostrar visualmente por qué los modelos lineales simples fallan. Esta configuración nos obliga a utilizar arquitecturas profundas para aproximar la curva intrincada necesaria que separa las clases.
Propiedades de los Datos
- Estructura de los Datos:Características de datos sintéticos (por ejemplo, $1000 \times 2$ para $1000$ muestras con 2 características).
- Tipo de Salida:Un valor de probabilidad único, generalmente
torch.float32, que representa la membresía de clase. - Objetivo:Crear una frontera de decisión curvamediante cálculos en capas.
El Poder de las Activaciones No Lineales
El principio fundamental de las DNN es la introducción de no linealidad en las capas ocultas mediante funciones como ReLU. Sin estas, apilar capas simplemente daría lugar a un modelo lineal grande, independientemente de la profundidad.
TERMINALbash — entorno-clasificacion
> Listo. Haz clic en "Ejecutar" para ejecutar.
>
INSPECTOR DE TENSORESEn Vivo
Ejecuta el código para inspeccionar tensores activos
Pregunta 1
¿Cuál es el propósito principal de la función de activación ReLU en una capa oculta?
Pregunta 2
¿Qué función de activación se requiere en la salidacapa para una tarea de clasificación binaria?
Pregunta 3
¿Qué función de pérdida corresponde directamente a un problema de clasificación binaria usando una salida Sigmoid?
Desafío: Diseñando la Arquitectura Principal
Integrando componentes arquitectónicos para el aprendizaje no lineal.
Debes construir un
nn.Module para la tarea de dos medias. Características de entrada: 2. Clases de salida: 1 (probabilidad).
Paso 1
Describe el flujo de cálculo para una sola capa oculta en esta DNN.
Solución:
Entrada $\to$ Capa Lineal (Matriz de Pesos) $\to$ Activación ReLU $\to$ Salida a la Próxima Capa.
Entrada $\to$ Capa Lineal (Matriz de Pesos) $\to$ Activación ReLU $\to$ Salida a la Próxima Capa.
Paso 2
¿Cuál debe ser el tamaño de la última capa si la forma de entrada es $(N, 2)$ y usamos la pérdida BCE?
Solución:
La capa de salida debe tener tamaño $(N, 1)$ para producir una única puntuación de probabilidad por muestra, coincidiendo con la forma de la etiqueta.
La capa de salida debe tener tamaño $(N, 1)$ para producir una única puntuación de probabilidad por muestra, coincidiendo con la forma de la etiqueta.